Supongamos que quiero obtener el primer elemento entre todos los elementos de la clase ".respuesta"
$($(".answer")[0])Puedo hacer lo anterior, pero ¿cuál es el mejor equilibrio entre elegancia y velocidad?
*cambió la pregunta para reflejar la discusión actual
No puedo hablar del aspecto de la elegancia, pero el aspecto del rendimiento aquí puede marcar una gran diferencia.
A partir de un conjunto de pruebas de JavaScript , parece que su método original es en realidad el más eficiente y, contrariamente a la hipótesis de que la respuesta aceptada está vinculada, los selectores de Sizzle que no son CSS tienden a ser mucho menos eficientes que los selectores de métodos. Hay una razón para eso. El $('.answer') puede usar el getElementsByClass() nativo del navegador sin tener que recorrer manualmente los resultados. El :first selector complica eso. En este caso, el uso de los selectores de chisporroteo parece ralentizar la selección en un factor de entre 4 y 5.
Yo diría que, con jQuery, el rendimiento debería triunfar sobre la elegancia, y toda la evidencia (¡todos los navegadores que he probado hasta ahora!) parece indicar que la solución poco elegante de OP es la más rápida por una buena cantidad.
Estos son los resultados de los navegadores con más ejecuciones de prueba:

(Los números son 'operaciones por segundo', por lo que los números más altos son más rápidos, los números más bajos son más lentos).
Los siguientes son todos equivalentes en funcionalidad (aunque no en velocidad):
var a0 = $($('.answer')[0]);var a0 = $('.answer').first(); - ver http://api.jquery.com/first/var a0 = $('.answer:first'); - ver http://api.jquery.com/first-selector/var a0 = $('.answer').eq(0); - ver http://api.jquery.com/eq/var a0 = $('.answer:eq(0)'); - ver http://api.jquery.com/eq-selector/ ¿Cual es el mejor?
Se ha planteado la hipótesis de que las versiones del selector deberían ser más rápidas que las versiones del método (y la lógica tiene cierto sentido), pero aún no he encontrado un punto de referencia confiable para varios navegadores y documentos que demuestre que esto es cierto.
Y en algunos casos no puede usar el selector, ya que tiene un objeto jQuery resultante de resultados encadenados y luego debe reducirlo.
Editar : según la excelente información de las pruebas de @yc a continuación, a continuación se resumen los resultados de las pruebas actuales (4 de febrero de 2011) y se comparan con una línea de base de .answer:first :
:primero :eq(0) .primero() .eq(0) $($('...')[0])
Chrome 8+ 100 % 92 % 224 % 266 % 367 %
FF 3,6 100 % 100 % 277 % 270 % 309 %
FF 4.0b 100 % 103 % 537 % 521 % 643 %
Safari 5 100% 93% 349% 352% 467%
Ópera 11 100% 103% 373% 374% 465%
ES 8 100 % 101 % 1130 % 1246 % 1767 %
iPhone 4 100% 95% 269% 316% 403%
================================================== ===
Ponderado 100% 92% 286% 295% 405%
Mayor 100% 95% 258% 280% 366%
En resumen: la hipótesis es (actualmente) incorrecta. Los métodos son significativamente más rápidos que los selectores de Sizzle y, casi sin excepción, el código del OP $($('.answer')[0]) es el más rápido de todos.